home *** CD-ROM | disk | FTP | other *** search
-
- InitFile 1.0 décembre 1996
- -----------
- Librairie C pour le SozobonX C (ou autre).
- (Utiliser une tabulation de 8 caractères)
-
- <=-----------------------------------------------------------------------=>
- SOMMAIRE
-
- 1> Introduction
- 2> Installation
- 3> Utilisation
- 4> Fonctionnalités
- 4.1> InfCreate
- 4.2> Fonctions de création / mise à jour des variables
- 4.3> Fonctions de lecture des variables
- 4.4> Fonctions de suppression de variables / sections
- 4.5> InfFree
- 5> Conclusion
-
-
- <=-----------------------------------------------------------------------=>
- 1> Introduction
-
- Il est quasi inévitable d'avoir à conserver les paramètres d'une
- application.
- Cette librarie regroupe un ensemble minimum de fonctions destinées
- à faciliter la gestion de tels fichiers.
-
- Pour l'écrire, je me suis basé sur la méthode employée par Windows.
-
- <=-----------------------------------------------------------------------=>
- 2> Installation
-
- Il suffit de copier InitFile.h dans le répertoire INCLUDE du
- sozobonX C et InitFile.a dans le repertoire LIB/SOZOBONX.
-
- Bien sur, si vous avez un autre compilateur, il vous faudra
- recompiler la librairie, mais cela ne devrait pas poser de problème.
-
-
- <=-----------------------------------------------------------------------=>
- 3> Utilisation
-
- Vous devez inclure InitFile.h dans vos sources et ajouter InitFile.a
- dans la liste des librairies à l'édition de lien.
-
- Le plus simple est d'utiliser un fichier Makefile.
-
- Cf : le makefile et le programme d'exemple fourni pour plus d'informations.
-
-
- <=-----------------------------------------------------------------------=>
- 4> Fonctionnalités
-
- Les fichiers générés ont la structure suivante :
-
- [NOM DE SECTION 1]
- NOM DE VARIABLE1=CONTENU VARIABLE1
- NOM DE VARIABLE2=CONTENU VARAIBLE2
- ...
-
- [NOM DE SECTION 2]
- ...
-
- Un nom de section peut contenir n'importe quel caractère dans la
- limite de 64 (et au minimum 1 sinon on risque d'avoir une section [] dans
- le fichier !).
-
- Le nom d'une variable et sa valeur ont les mêmes contraintes sauf
- que leurs tailles respectives peuvent atteindre 128 caractères.
-
- La taille du couple chemin/nom de fichier peut être quelconque et
- l'extension choisie dépend de l'utlisateur.
-
- ATENTION :
-
- => AUCUN MESSAGE D'ERREUR N'EST JAMAIS RENVOYE
-
-
- 4.1> InfCreate
-
- Syntaxe : InitFile *InfCreate (nomFic)
-
- * char *nomFic.................. Nom du fichier paramètre
-
- Cette fonction initialise la structure InitFile en ouvrant (ou
- en créant le fichier <nomFic> et en en chargeant le contenu si ce fichier
- existe déjà.
-
- Elle retourne un pointeur sur la structure InitFile ainsi définie.
-
-
- 4.2> Fonction de création / mise à jour des variables
-
- Syntaxe : void InfWriteBool (strIni, section, var, val);
- Syntaxe : void InfWriteInteger (strIni, section, var, val);
- Syntaxe : void InfWriteString (strIni, section, var, val);
-
- * InitFile **strIni............. Pointeur sur la structure InitFile
- retournée par InfCreate.
- * char *section................. Nom de la section
- * char *var..................... Nom de la variable
- * (short/long/char *)val........ Valeur de la variable
-
- Cette fonction ajoute une variable <var> de la section <section> ou
- met à jour son contenu.
-
- Une variable peut être de type :
- - Booléen (valeur VRAI ou FAUX),
- - Entier LONG,
- - Chaine de caractères.
-
-
- 4.3> Fonction de lecture des variables
-
- void InfReadBool (strIni, section, var, def, val);
- void InfReadInteger (strIni, section, var, def, val);
- void InfReadString (strIni, section, var, def, val);
-
- * InitFile *strIni.............. Structure InitFile retournée par InfCreate.
- * char *section................. Nom de la section
- * char *var..................... Nom de la variable
- * (short/long/char)*val......... Valeur par défaut de la variable
- * (short */long */char *)val.... Variable devant contenir la valeur lue
-
- Cette fonction permet de lire le contenu d'une variable.
-
- Une variable peut être de type :
- - Booléen (valeur VRAI ou FAUX),
- - Entier LONG,
- - Chaine de caractères.
-
- Si la variable n'est pas trouvée, la valeur par défaut est placée
- dans la variable devant contenir le résultat, sinon c'est la valeur trouvée
- dans le fichier qui est placée dans la variable résultat.
-
-
- 4.4> Fonctions de suppression de variables / sections
-
- Syntaxe : void InfDeleteVar (InitFile **strIni, char *section, char *var);
- Syntaxe : void InfDeleteSection (InitFile **strIni, char *section);
-
- * InitFile **strIni............. Pointeur sur la structure InitFile
- retournée par InfCreate.
- * char *section................. Nom de la section
- * [char *var]................... Nom de la variable
-
- Ces fonctions permettent de supprimer en mémoire respectivement, une
- variable d'une section et une section complète.
- On peut s'en servir dans le cadre de mise à jour de la structure du
- fichier de paramétrage dans le cadre d'un changement de version d'une
- application par exemple.
- Si la variable (ou la section) n'existe pas (ou plus), elle ne
- retournent aucune erreur.
-
-
- 4.5> InfFree
-
- Syntaxe : void InfFree (InitFile *strIni)
-
- * InitFile *strIni.............. Structure InitFile retournée par InfCreate.
-
- Cette fonction vide la structure InitFile et libère toute la mémoire
- qu'elle occupe.
-
-
- <=-----------------------------------------------------------------------=>
- 5> Conclusion
-
- Voilà, vous savez tout.
-
- J'espère que cette lib sera utile à quelqu'un. Bonne utilisation.
-
-
- Philippe CASTELLA
-
-
-
- Email : pcastell@ifhamy.insa-lyon.fr (pour encore qq tps)
- Http : http://www.insa-lyon.fr/People/AEDI/pcastell (idem, après ???)
- Snail : 49, rue Jean Jaurès (de préférence !)
- 69740 Genas
- FRANCE
-
- (C) 1996 Philippe CASTELLA
-